
package com.hlkj.pay.vo.merchant.resp.access;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;

/**
 * 商户营业执照表
 * 
 * @TableName t_merchant_access_license
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
public class MerchantAccessLicenseResp {

    /**
     * 企业类型 1：政府机构 2：国营企业 3：私营企业 4：外资企业 5：个体工商户 6：其它组织 7：事业单位 9：业主委员会；
     */
    @Schema(description = "企业类型 字典接口通过 dictKey=companyType 获取 ")
    @NotNull(message = "企业类型 不能为空")
    private String companyType;

    /**
     * 企业类型 1：政府机构 2：国营企业 3：私营企业 4：外资企业 5：个体工商户 6：其它组织 7：事业单位 9：业主委员会；
     */
    @Schema(description = "企业类型描述")
    private String companyTypeDesc;

    @Schema(description = "商户名称")
    @NotEmpty(message = "商户名称 不能为空")
    private String name;

    /**
     * 营业执照url
     */
    @Schema(description = "营业执照url")
    private String licenseUrl;

    /**
     * 营业执照编号
     */
    @Schema(description = "营业执照编号")
    private String licenseCode;

    /**
     * 证照类型
     */
    @Schema(description = "证照类型 字典接口通过 dictKey=licenseType 获取")
    private String licenseType;

    /**
     * 证件有效期类型 1：长期有效；0：非长期有效
     */
    @Schema(description = "证件有效期类型 1：长期有效；0：非长期有效 ")
    private Integer licenseValidityType;

    /**
     * 有效期开始日期
     */
    @Schema(description = "有效期开始日期")
    private String licenseBeginDate;

    /**
     * 有效期截止日期
     */
    @Schema(description = "有效期截止日期")
    private String licenseEndDate;

    /**
     * 成立时间
     */
    @Schema(description = "成立时间")
    private String registrationDate;

    /**
     * 注册资本
     */
//    @Schema(description = "注册资本")
//    private String registeredCapital;
    @Schema(description = "注册资本")
    private BigDecimal registeredCapital;

    /**
     * 经营范围
     */
    @Schema(description = "经营范围")
    private String businessScope;

    /**
     * 省份编码
     */
    @Schema(description = "省份编码 省份编码 字典接口通过 dictKey=areaCode,dictLevel=1 获取")
    private String provinceCode;

    /**
     * 城市编码
     */
    @Schema(description = "城市编码 字典接口通过 dictKey=areaCode,parentDictKey=provinceCode,dictLevel=2 获取 ")
    private String cityCode;

    /**
     * 区域编码
     */
    @Schema(description = "区域编码 字典接口通过 dictKey=areaCode,parentDictKey=cityCode,dictLevel=3 获取 ")
    private String areaCode;
    /**
     * 地址
     */
    private String address;
}
